#使用break推出while循环，同时不执行后面的else语句，但只跳出一层循环体
while True:
    answer = input("可以停止循环吗")
    if answer == "可以":
        break
    print("继续")
else:
    print("我不被执行")

#continue表示跳出当前循环，回到条件判断语句
i = 0
while i<10:
    i += 1
    if i % 2 == 0:
        continue
    print("被打印出的i的值为：",i)

#99乘法表
i = 1
while i<10:
    j = 1
    while j<=i:
        print(j,"*",i,"=",j*i)
        j+=1
    print()#换行
    i +=1

#for循环
for each in "FishC":
    print(each) #每次抽取FishC中的一个单词
for i in range(1,10,2):#range(start,stop,step)表示[start,stop)的数据，并间隔2个；其中start和stop。step必须是整型，step可为负数
    print(i)
for i in range(10,1,-2):
    print(i)

#找到10以内的所有素数
for i in range(2,10):
    for j in range(2,i):
        if i % j == 0:
            print(i,"=",j,"*",i//j)
            break
    else:
        print(i,"是一个素数")

#列表
game = [1,2,3,4,5,"ok"]#列表可以装填不同类型的数据
for i in game:
    print(game[-1])#列表最后一个元素
    print(i)
print(game[0::2])#列表的切片，从第一个开始到最后一个结束，每两个输出一个
print(game[::-1])#让列表倒叙输出
game.append("新增")#使用append函数，在列表末尾添加一个元素
game.extend("多","个","元素")#extend函数可以添加多个函数
#就等于
game[len(game):]=[6,7,8]
print(game)
s = [1,3,4,5]
s.insert(1,2)#前面是索引号，后面是插入的值
s.remove(4)#删除对于元素，如果列表中有多个相同的元素，只会删除下标最小的元素
s.pop(1)#删除对应下标的元素
s.clear()#清空整个列表
game[3]="替换"#列表下标的替换，或用切片方式替换
nums = [3,2,6,2,6,8,3,5]
nums.sort()#从小到大排序
nums.reverse()#从大到小排序
nums.count(3)#查找nums列表中3的个数
nums.index(8)#查找元素的下标值，多个同值元素返回第一个
nums.index(2,2,5)#查找元素2，从2号位置开始，5号位置结束

s = [1,2,3]
t = [4,5,6]
y = s.copy()#拷贝s的值，s的值改变y的值不变；使用切片方法获取的也是拷贝
#但当数据为二维矩阵时，copy只是拷贝一层，要用如下方法进行深拷贝
import copy
x = [[1,2,3],[4,5,6]]
y = copy.deepcopy(x)#y进行了深拷贝，改变x，y不变
st = s+t#列表的加法
ST = s*3#列表的乘法

#嵌套列表-矩阵
matric = [[1,2,3],[4,5,6],[7,8,9]]
for i in matric:
    for j in i:
        print(j)#访问整个矩阵

for i in range(3):
    A[i]=[0]*3 #生成二位矩阵，不能写成A = [[0]*3]*3

boolen = A[0] is A[1] #结果应为false，指向不同的存储位置

#列表推导式
m = [1,2,3,4,5]
m = [i*2 for i in m]#将列表m中的每一个元素扩大两倍
code = [ord(c) for c in "FishC"]#将对应的字符转换成对应的编码
matric = [[1,2,3],[4,5,6],[7,8,9]]
col1 = [row[1] for row in matric]#获取矩阵某一列的值
diag = [matric[i][i] for i in range(len(matric))]#获取矩阵对角线上的值
even = [i for i in range(10) if i%2==0]#给推导式增加条件
word = ["good","very"]
gwprd = [g for g in word if g[0]=="g"]#每个单词可以看成是一个列表，for前面的g可以看成是gword中的一个元素
words = [x+y for x in gwprd for y in word]#推导式多层嵌套
allnum = [[x,y] for x in range(10) if x%2==0 for y in range(10) if y%2==0]#推导式终极嵌套


